/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意：
* 本软件为www.yixiang.co开发研制，未经购买不得使用
* 购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
* 一经发现盗用、分享等行为，将追究法律责任，后果自负
*/
package co.yixiang.modules.auction.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import java.sql.Timestamp;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

/**
* @author yhh
* @date 2020-09-21
*/
@Data
@TableName("yx_auction_order")
public class YxAuctionOrder implements Serializable {

    @TableId
    private Long id;


    /** 拍卖id */
    private Long auctionRecordId;

    private Integer isMax;

    /** 状态0待付款1已上传凭证待确定2待操作3历史订单 */
    private Integer status;


    @TableField(fill= FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /** 订单号 */
    private String orderId;


    /** 用户id */
    private Long userId;

    /**
     * 快递名
     */
    private String express;
    /**
     * 快递单号
     */
    private String expressNumber;


    private String userPhone;


    private String userName;

    private String signatureImg;


    private String userAddress;


    private BigDecimal price;

    private BigDecimal sellPrice;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    private Integer isDel;


    /** 支付方式1支付宝2微信3余额4银联 */
    private Integer payType;


    @TableField(fill= FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


    /** 0未作处理1加入抢拍2收货 */
    private Integer receiveType;


    /** 抢拍手续费 */
    private BigDecimal serviceMoney;


    /** 是否支付手续费0否1是 */
    private Integer isPayService;


    public void copy(YxAuctionOrder source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
